package org.fuys.etp.core.model.vo;

import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
 * @projectName: fuys-etp
 * @package: org.fuys.etp.core.model.vo
 * @className: TpRegulationStrategyVO
 * @author: WangJing
 * @description: TODO
 * @date: 2025/2/5 11:48
 * @version: 1.0
 */
@Builder
@Data
public class TpRegulationStrategyVO {
    private Integer strategyId;

    /**
     * 策略名称
     */
    private String strategyName;

    /**
     * 策略描述
     */
    private String strategyDesc;

    /**
     * 策略类型
     */
    private Object strategyType;

    /**
     * 报警等级 当切换的配置为此等级时会触发报警
     */
    private Object alertLevel;

    /**
     * 负载配置链
     */
    private List<Integer> loadChain;

    /**
     * 负载配置链的具体信息
     */
    private List<TpConfigVO> loadConfigChain;

    /**
     * 起始负载配置等级
     */
    private Object startLoadLevel;

    /**
     * 用于报警处理的Bean名称
     */
    private String alertType;

    /**
     * 用于配置更新检查时的Bean名称 利用,分开 从etp_component中获取
     */
    private String checkerChain;

    /**
     * 用于配置数据监控时的Bean名称 利用,分开 从etp_component中获取
     */
    private String metricsChain;

    /**
     * 按照负载等级排序后的配置ID列表
     */
    private List<Integer> sortedConfigIds;

    /**
     * 警报通报给谁
     */
    private String alertTo;
}
